1. Field
The present disclosure is generally directed to a storage controller and, more particularly, to techniques for managing data in a write cache of a storage controller.
2. Related Art
A data storage system is commonly utilized to store information provided by a computer system. Upon receipt of a write request, a disk drive controller within a data storage system initially stores incoming write data in a write cache within a volatile memory device. The write data in the write cache is subsequently destaged when the write data is written to a designated storage target device, such as a hard disk drive. In certain implementations, a copy of the write data is also stored in a non-volatile storage unit until the write data is destaged in order to enhance protection against data loss. The non-volatile storage unit often has less storage capacity than the write cache, which may simultaneously store incoming write data and outgoing read data.
An unexpected failure of a designated storage target device can prevent write data in a write cache from being destaged, which in turn causes incoming write data to be pinned in the write cache (as well as a non-volatile storage unit). In fact, even the failure of a small number of designated storage target devices may cause the sudden pinning of a large amount of write data in a write cache. When storage space in a non-volatile storage unit is completely consumed by pinned write data, additional write requests cannot be processed by a data storage system within an acceptable time frame.